package com.jzoffer;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

/*
* 在一个字符串(0<=字符串长度<=10000，全部由字母组成)
* 中找到第一个只出现一次的字符,
* 并返回它的位置, 如果没有则返回 -1
* （需要区分大小写）.（从0开始计数）
* */
public class TheFirstAppearOneChar {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String line = br.readLine();
        int i = FirstNotRepeatingChar(line);

        System.out.println(i);

        br.close();

    }

    public static int FirstNotRepeatingChar(String str){
        if(str == null || str.length() < 1){
            return -1;
        }
        Map<Character,Integer> map = new HashMap<>();
        int len = str.length();
        for(int i = 0;i < len;i++){
            char ch = str.charAt(i);
            if(map.containsKey(ch)){
                int time = map.get(ch);
                map.put(ch,++time);
            }else{
                map.put(ch,1);
            }
        }

        int index = -1;
        int i = 0;
        while (i < len){
            char c = str.charAt(i);
            if(map.get(c) == 1){
                return i;
            }
            i++;
        }
        return index;

    }
}
